Industrial controllers are specialized computer systems used for the control of industrial processes or machinery, for example, in a factory environment. Generally an industrial controller executes a stored control program that reads inputs from a variety of sensors associated with the controlled process and machine and, sensing the conditions of the process or machine and based on those inputs and a stored control program, calculates a set of outputs used to control actuators controlling the process or machine.
Industrial controllers differ from conventional computers in a number of ways. Physically, they are constructed to be substantially more robust against shock and damage and to better resist external contaminants and extreme environmental conditions than conventional computers. The processors and operating systems are optimized for real-time control and are programmed with languages designed to permit rapid development of control programs tailored to a constantly varying set of machine control or process control applications.
Generally, the controllers have a highly modular architecture, for example, that allows different numbers and types of input and output modules to be used to connect the controller to the process or machinery to be controlled. This modularity is facilitated through the use of special “control networks” suitable for highly reliable and available real-time communication. Such control networks (for example, ControlNet or EtherNet/IP) differ from standard communication networks (such as Ethernet) by guaranteeing maximum communication delays by pre-scheduling the communication capacity of the network, and/or providing redundant communication capabilities for high-availability.
Industrial controllers often use electrical relays to control field devices that are part of the industrial process. Such relays typically have a common contact that can switch between a normally closed contact and a normally open contact according to energization of an electrical coil. For example, when a coil is de-energized, the relay can default to an “off” position in which the common contact connects to the normally closed contact, leaving the normally open contact disconnected. Conversely, when the coil is energized, the relay can switch to an “on” position in which the common contact connects to the normally open contact. However, such relays can sometimes fail by electrical contacts becoming welded together, which thereby prevents the relays from being able to switch between the on and off positions. For industrial automation systems which typically require greater safety and reliability than conventional systems, it is highly desirable to quickly detect such failures so that corrective action can be taken.